home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 80 / XENIATGM80.iso / Goodies / Blood 2 / Source / data.z / MenuOptions.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1999-04-02  |  2.7 KB  |  104 lines

  1. // MenuOptions.cpp: implementation of the CMenuOptions class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4.  
  5. #include "MenuBase.h"
  6. #include "MainMenus.h"
  7. #include "MenuOptions.h"
  8. #include "MenuCommands.h"
  9. #include "ClientRes.h"
  10. #include "vkdefs.h"
  11.  
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15.  
  16. CMenuOptions::CMenuOptions()
  17. {
  18.  
  19. }
  20.  
  21. CMenuOptions::~CMenuOptions()
  22. {
  23.  
  24. }
  25.  
  26. // Build the menu
  27. void CMenuOptions::Build()
  28. {
  29.     // Make sure to call the base class
  30.     CMenuBase::Build();
  31.  
  32.     CreateTitle("interface\\mainmenus\\options.pcx", IDS_MENU_TITLE_OPTIONS, m_pMainMenus->GetTitlePos());        
  33.     SetOptionPos(m_pMainMenus->GetOptionsPos());
  34.     SetItemSpacing(0);
  35.  
  36.     AddLargeTextItemOption(IDS_MENU_OPTIONS_DISPLAY,    MENU_CMD_DISPLAY);
  37.     AddLargeTextItemOption(IDS_MENU_OPTIONS_AUDIO,        MENU_CMD_AUDIO);
  38.     AddLargeTextItemOption(IDS_MENU_OPTIONS_CONTROLS,    MENU_CMD_CUSTOMIZE_CONTROLS);
  39.     AddLargeTextItemOption(IDS_MENU_OPTIONS_MOUSE,        MENU_CMD_MOUSE);
  40.     AddLargeTextItemOption(IDS_MENU_OPTIONS_JOYSTICK,    MENU_CMD_JOYSTICK);
  41.     AddLargeTextItemOption(IDS_MENU_OPTIONS_KEYBOARD,    MENU_CMD_KEYBOARD);
  42. }
  43.  
  44. DDWORD CMenuOptions::OnCommand(DDWORD dwCommand, DDWORD dwParam1, DDWORD dwParam2)
  45. {
  46.     switch (dwCommand)
  47.     {
  48.     case MENU_CMD_CUSTOMIZE_CONTROLS:
  49.         {
  50.             m_pMainMenus->SetCurrentMenu(MENU_ID_CONTROLS);
  51.             break;
  52.         }
  53.     case  MENU_CMD_AUDIO:
  54.         {
  55.             m_pMainMenus->SetCurrentMenu(MENU_ID_SOUND);
  56.             break;
  57.         }
  58.     case MENU_CMD_DISPLAY:
  59.         {
  60.             m_pMainMenus->SetCurrentMenu(MENU_ID_DISPLAY);
  61.             break;
  62.         }
  63.     case MENU_CMD_MOUSE:
  64.         {
  65.             m_pMainMenus->SetCurrentMenu(MENU_ID_MOUSE);
  66.             break;
  67.         }
  68.     case MENU_CMD_KEYBOARD:
  69.         {
  70.             m_pMainMenus->SetCurrentMenu(MENU_ID_KEYBOARD);
  71.             break;
  72.         }
  73.     case MENU_CMD_JOYSTICK:
  74.         {
  75.             BOOL bJoystickMenuDisabled = FALSE;
  76.             HCONSOLEVAR hVar;
  77.             hVar = m_pClientDE->GetConsoleVar( "JoystickMenuDisabled");
  78.             if (hVar != NULL) 
  79.             {
  80.                 if (m_pClientDE->GetVarValueFloat(hVar) == 1) bJoystickMenuDisabled = DTRUE;
  81.             }
  82.  
  83.             // Show the confirmation dialogbox
  84.             if (!bJoystickMenuDisabled) m_pMainMenus->SetCurrentMenu(MENU_ID_JOYSTICK);
  85.  
  86.             // display dialog box for joystick menu disbled
  87.             else
  88.             {
  89.                 m_pMainMenus->DoMessageBox(IDS_MENU_OPTIONS_NOJOYSTICKMENU, this);
  90.                 m_pMainMenus->AddMessageKey(VK_RETURN, MENU_CMD_KILL_MESSAGEBOX);
  91.                 m_pMainMenus->AddMessageKey(VK_SPACE, MENU_CMD_KILL_MESSAGEBOX);
  92.                 m_pMainMenus->AddMessageKey(VK_ESCAPE, MENU_CMD_KILL_MESSAGEBOX);                        
  93.             }
  94.  
  95.             break;
  96.         }
  97.     case MENU_CMD_KILL_MESSAGEBOX:
  98.         {
  99.             m_pMainMenus->KillMessageBox();
  100.             break;
  101.         }
  102.     }
  103.     return 0;
  104. }